package com.kkarma.common.annotation;

import com.kkarma.common.enums.RateLimiterEnum;

import java.lang.annotation.*;

/**
 * @Author: karma
 * @Date: 2022/5/25 0025 - 05 - 25 - 14:30
 * @Description: com.kkarma.common.annotation
 * @version: 1.0
 */


@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RateLimiter {
    /**
     * 限流key
     */
    String key() default "rate_limiter:";

    /**
     * 限流时间,单位秒
     */
    int time() default 60;

    /**
     * 限流次数
     */
    int count() default 100;

    /**
     * 限流类型
     */
    RateLimiterEnum limitType() default RateLimiterEnum.DEFAULT;
}
